/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javaavanzadopila;





class EjecutaPila {

    public static void main(String argumentos[])  {
        /**
         * MiPila este objeto esta desarrollado para dimensionar un array
         * en un numero X de elementos en este caso 5
         * Y asignarlos a una pila o quitarlos de la misma
         */
        
        MiPila p = new MiPila(5);


        
        if (p.pilaVacia()) {
            System.out.println("Pila vacía");
        }
        System.out.println("llenando pila ...");
        p.apilar("primer elemento");
        p.apilar("segundo elemento");
        p.apilar("tercer elemento");
        p.apilar("cuarto elemento");
        if (!p.pilaVacia()) {
            System.out.println("Pila no vacía");
        }
        System.out.println("Vaciando pila ...");
        while (!p.pilaVacia()) {
            System.out.println(p.desapilar());
        }

        /**
         * MiPilaNO este objeto esta desarrollado a base Nodos
         * de la manera que la cantidad de elementos que se pueden
         * añadir a la pila ira en funcion de la disponibilidad
         * de menoria de nuestro sistema
         */
        MiPilaNodo pN = new MiPilaNodo();
        if (pN.pilaVacia()) {
            System.out.println("Pila vacía");
        }
        System.out.println("llenando pila ...");
        pN.apilar("primer elemento");
        pN.apilar("segundo elemento");
        pN.apilar("tercer elemento");
        pN.apilar("cuarto elemento");
        if (!pN.pilaVacia()) {
            System.out.println("Pila no vacía");
        }
        System.out.println("Vaciando pila ...");
        while (!pN.pilaVacia()) {
            System.out.println(pN.desapilar());
        }
    }
}

